PropTypes를 사용한 타입 확인과 기본값 설정
React에서 컴포넌트를 만들 때, 컴포넌트에 전달되는 데이터(Props)가 올바른 타입인지 확인하는 것은 매우 중요합니다. 이를 통해 예기치 않은 오류를 예방하고, 코드의 가독성과 유지보수성을 높일 수 있습니다. React는 이를 위해 PropTypes
라는 유용한 도구를 제공합니다. 이번 글에서는 PropTypes
를 사용해 Props의 타입을 확인하고, 기본값을 설정하는 방법에 대해 알아보겠습니다.
PropTypes 소개
PropTypes
는 React에서 제공하는 타입 검사 도구입니다. 이를 사용하면 각 컴포넌트에 전달되는 Props가 예상한 타입인지 확인할 수 있습니다. 예를 들어, 숫자형 데이터가 전달되어야 하는 곳에 문자열이 전달되는 오류를 사전에 방지할 수 있습니다.
PropTypes
를 사용하려면, 먼저 prop-types
패키지를 설치해야 합니다.
npm install prop-types
설치 후, 아래와 같이 컴포넌트에서 PropTypes
를 사용할 수 있습니다.
import PropTypes from 'prop-types';
function MyComponent({ name, age }) {
return (
<div>
<p>Name: {name}</p>
<p>Age: {age}</p>
</div>
);
}
MyComponent.propTypes = {
name: PropTypes.string.isRequired,
age: PropTypes.number.isRequired,
};
위 코드에서는 MyComponent
가 name
과 age
라는 두 가지 Props를 받습니다. 이 Props들은 각각 문자열과 숫자 타입이어야 하며, isRequired
를 통해 반드시 전달되어야 함을 명시했습니다.
기본값 설정
컴포넌트에 전달되는 Props가 없을 때 기본값을 설정하는 방법도 알아보겠습니다. 이는 defaultProps
를 사용하여 설정할 수 있습니다.
function MyComponent({ name, age }) {
return (
<div>
<p>Name: {name}</p>
<p>Age: {age}</p>
</div>
);
}
MyComponent.defaultProps = {
name: 'Unknown',
age: 0,
};
MyComponent.propTypes = {
name: PropTypes.string,
age: PropTypes.number,
};
위 코드에서는 name
과 age